package cn.mntool.fastcode.generate.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;

/**
 * describe: 参数实体
 *
 * @author lianying
 * @date 2019/09/15
 */
@Data
@Component
@ConfigurationProperties(prefix = "code-properties")
public class Properties {
    /**
     * 数据库名称
     */
    private String dbName;
    /**
     * 数据库类型
     */
    private String dbType;
    /**
     * 表名
     */
    private String tableName;
    /**
     * 类名
     */
    private String className;
    /**
     * 包名
     */
    private String packageName;
    /**
     * 作者
     */
    private String author;
    /**
     * 代码输出路径
     */
    private String outPath;
    /**
     * 时间格式
     */
    private String timeFormat;
    /**
     * 不参与代码生成的字段
     */
    private List<String> ignoreFields;

    /**
     * 获取当前时间
     *
     * @return
     */
    public String getTime() {
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat(this.timeFormat);
        return simpleDateFormat.format(new Date());
    }
}
